package com.tianya.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.time.LocalDateTime;
import java.util.Date;

import com.tianya.domain.enums.AccountStatus;
import com.tianya.domain.enums.Gender;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 用户表
 * @TableName user
 */
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName(value ="user")
@Data
public class User {
    /**
     * 用户唯一标识，主键
     */
    @TableId(type = IdType.AUTO)
    private Long userId;

    /**
     * 用户名，唯一且非空
     */
    private String username;

    private String name;

    /**
     * 密码，加密存储
     */
    private String password;
    private Gender gender;

    private String phone;

    /**
     * 用户角色：管理员/教师/家长/学生
     */
    private Long role;
    private String avatar;
    /**
     * 账户状态：正常/禁用
     */
    private AccountStatus status;

    /**
     * 创建时间，默认当前时间
     */
    private LocalDateTime createdAt;

    /**
     * 最后更新时间，自动更新
     */
    private LocalDateTime updatedAt;
}